Skip to content

Public-safe on-demand Simulator lifecycle - #1

Merged
VladimirBrejcha merged 38 commits into
mainfrom
codex/public-safe-idle-lifecycle
Aug 17, 2026
Merged

Public-safe on-demand Simulator lifecycle#1
VladimirBrejcha merged 38 commits into
mainfrom
codex/public-safe-idle-lifecycle

Conversation

@VladimirBrejcha

Copy link
Copy Markdown
Contributor

Summary

  • make Simulator Broker own deterministic warm reuse, boot-on-acquisition, idle reconciliation, and operator controls
  • add opt-in idle policy, count-only confirmed cleanup, daemon scheduling, snapshot summaries, and macOS Overview controls
  • add a tracked-text public-safety scanner to the normal test and distribution gates, with an ignored local denylist

Verification

  • npm test — passed: 206 broker, 120 client/service, 24 harness-adoption, and 67 macOS app tests
  • npm --prefix agent-harness test — passed: 104 tests
  • npm run verify:public-surface — passed: 240 tracked text files
  • required implementation/spec profiles and all three agent:complete closeout gates passed

Rollout

The machine-local 300-second policy and one-time cleanup are intentionally deferred until this release is available. No host aliases, simulator identifiers, local paths, operator identities, or personalized defaults are committed.

Why:
Simulator capacity should remain registered while low-concurrency work deterministically reuses warm aliases and safely shuts unused automated simulators down under explicit local policy.

Changed:
Added pin/warm/shutdown selection, boot-on-acquire, idle policy and reconciliation, confirmed cleanup, CLI/service scheduling, public-surface scanning, tests, and aligned public specifications.

Verification:
The full product suite and both required harness profiles passed on the complete feature tree before this manifest-aligned commit split.

Affected:
broker-core, client, public documentation, and specifications.

Refs:
spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Session:
task-sessions/20260810-public-safe-idle-broker
Why: Give operators an explicit, broker-backed way to configure and run safe idle cleanup without writing host state from the app.

Changed: Add the Overview automatic-shutdown section, count-only cleanup confirmation, broker command integration, snapshot refresh behavior, temporary-root app tests, and distribution-time public-surface verification.

Verification: npm test; scripts/test_app.sh

Affected: app/**, scripts/package_distribution.sh, scripts/test_app.sh

Refs: spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Session: task-sessions/20260810-public-safe-idle-app
Why: Prevent machine-local identities, paths, and operator artifacts from entering tracked public text.

Changed: Run the public-surface scanner from the normal test gate and expose a dedicated verification command.

Verification: npm test; npm run verify:public-surface

Affected: package.json

Refs: spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Session: task-sessions/20260810-public-safe-idle-gate

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5ff7e6450c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread broker-core/index.mjs Outdated
Comment thread client/command-dispatch.mjs
Comment thread client/service/service-client.mjs
Comment thread app/Sources/BrokerSnapshotModels.swift
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Applied safe fixes for all 4 active PR feedback items. Verification passed: `npm run test:broker-core`, `npm run test:client`, `bash scripts/test_app.sh --only-testing SimulatorBrokerAppTests/BrokerDashboardStoreTests/testSnapshotDecodesMissingIdleAsUnconfiguredDefault`, `npm run verify:public-surface`, and `git diff --check`.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/task-session]

Affected:
- .gitignore
- README.md
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/task-session]
- report: [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3065c9e6e1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread broker-core/index.mjs Outdated
Comment thread client/command-dispatch.mjs Outdated
Comment thread client/public-surface.mjs
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Applied narrowly scoped fixes for all three active review items. Focused verification passed: node --test --test-name-pattern "idle cleanup" broker-core/test/broker-core.test.mjs; node --test --test-name-pattern "idle mutations surface final snapshot refresh failures" client/test/simbroker.test.mjs; node --test client/test/public-surface.test.mjs; npm run verify:public-surface; git diff --check.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/task-session]

Affected:
- .gitignore
- README.md
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/task-session]
- report: [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a4bb425b47

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread broker-core/index.mjs
Comment thread client/command-dispatch.mjs
Comment thread client/service/brokerd.mjs Outdated
Comment thread broker-core/index.mjs Outdated
Comment thread client/public-surface.mjs
Comment thread client/bin/simbroker.mjs Outdated
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Repaired the implementation-profile verification failure by increasing the timeout for the harness doctor-output regression that exceeded Vitest's 5s default under full verification load. Additional checks passed: `npm --prefix agent-harness run build`, `npm --prefix agent-harness test`, and `npm run verify:public-surface`.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)
- #1 (comment)
- #1 (comment)
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/task-session]
- report: [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/report.md]
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@VladimirBrejcha

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 451d83321c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread client/public-surface.mjs
Comment thread client/service/brokerd.mjs
Comment thread broker-core/simctl.mjs
Comment thread client/bin/simbroker.mjs
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Implemented all four active review fixes. Verification passed: `npm run verify:public-surface`, `node --test client/test/public-surface.test.mjs`, `node --test client/test/simbroker.test.mjs`, and focused app tests via `bash ./scripts/test_app.sh --only-testing SimulatorBrokerAppTests/BrokerServiceClientTests/testCommandTransferTimeoutsCoverBrokerLockBudgets --only-testing SimulatorBrokerAppTests/BrokerLocalCommandClientTests/testProcessRunnerUsesCommandSpecificTimeoutBudgets`.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/task-session]
- report: [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0d0126f99c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread app/Sources/BrokerServiceClient.swift Outdated
Comment thread client/service/brokerd.mjs Outdated
Comment thread broker-core/index.mjs Outdated
Comment thread client/bin/simbroker.mjs Outdated
Comment thread broker-core/index.mjs Outdated
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Applied fixes for all five active review items. Focused checks passed: node broker-core idle-policy tests, node client malformed-policy/scheduler timer timeout tests, npm run verify:public-surface, and focused macOS BrokerServiceClient timeout-budget XCTest.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)
- #1 (comment)
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/task-session]
- report: [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 096d0f352a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread client/test/public-surface.test.mjs Outdated
Comment thread broker-core/index.mjs Outdated
Comment thread spec/tasks/public-safe-on-demand-simulator-lifecycle.md Outdated
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Repaired the controller implementation-profile failure by giving the two intentionally oversized detached-result Vitest cases a 15s per-test timeout. Verification passed: npm --prefix agent-harness run build; npm --prefix agent-harness test -- --run tests/detached-rollout.test.ts -t 'result-read limit'; npm --prefix agent-harness test; npm run verify:public-surface.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/detached-rollout.test.ts
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/task-session]
- report: [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e5f66516c8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread client/public-surface.mjs Outdated
Comment thread broker-core/index.mjs Outdated
Comment thread broker-core/index.mjs Outdated
Comment thread client/bin/simbroker.mjs Outdated
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Applied four focused fixes. Verification run: `node --test client/test/public-surface.test.mjs` passed; `node --test --test-name-pattern "idle policy removal errors|stale lease recovery timestamps|stale lease recovery starts" broker-core/test/broker-core.test.mjs` passed; `node --test --test-name-pattern "policy-enabled lease acquisition lazily starts brokerd" client/test/brokerd.test.mjs` passed; `npm run verify:public-surface` passed; `git diff --check` passed.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/detached-rollout.test.ts
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/task-session]
- report: [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 70e1f1fd1f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread app/Sources/BrokerLocalCommandClient.swift
Comment thread client/service/brokerd.mjs
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Repaired the implementation verification failure by giving the detached watchdog test enough runtime margin under loaded verifier runs, while preserving its behavior assertions. Verification run locally: `npm test` passed, `npm --prefix agent-harness test` passed, `npm run test:client` passed, focused watchdog test passed, and `git diff --check` passed.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/detached-rollout.test.ts
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/task-session]
- report: [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4c3ac4398b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread client/public-surface.mjs Outdated
Comment thread client/service/brokerd.mjs
Comment thread client/bin/simbroker.mjs Outdated
Comment thread broker-core/index.mjs
Comment thread client/service/brokerd.mjs Outdated
Comment thread app/Sources/BrokerServiceClient.swift Outdated
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Applied six focused fixes. Verification passed: `node --test client/test/public-surface.test.mjs`; targeted broker-core idle lock/status tests; `node --test client/test/simbroker.test.mjs client/test/brokerd.test.mjs`; focused app test `BrokerServiceClientTests/testIdleCleanupTimeoutBudgetFallsBackWhenHostAliasesAreAbsent`; and `npm run verify:public-surface`.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/detached-rollout.test.ts
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)
- #1 (comment)
- #1 (comment)
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/task-session]
- report: [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 20c535f857

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread client/service/brokerd.mjs
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Implemented the one active PR feedback item. Scheduled idle reconciliation no longer reuses the nonblocking lock option for app snapshot publication, and the focused brokerd test file passed.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/detached-rollout.test.ts
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/task-session]
- report: [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5dc19f556c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread client/bin/simbroker.mjs Outdated
Comment thread broker-core/index.mjs
Comment thread app/Sources/BrokerLocalCommandClient.swift
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Applied three focused reliability fixes. Verification passed: `node --test --test-name-pattern "lease release timestamps release after entering the mutation lock" broker-core/test/broker-core.test.mjs`; `node --test --test-name-pattern "service startup timeout budgets stale containment from lease files" client/test/simbroker.test.mjs`; `bash scripts/test_app.sh --only-testing SimulatorBrokerAppTests/BrokerLocalCommandClientTests/testProcessRunnerUsesCommandSpecificTimeoutBudgets` with result bundle `artifacts/app-tests/focused-SimulatorBrokerAppTests-BrokerLocalCommandClientTests-testProcessRunnerUsesCommandSpecificTimeoutBudgets.xcresult`; `npm run test:client`; `npm run test:broker-core`. Worktree has only the six intended modified files and no untracked files.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/detached-rollout.test.ts
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/task-session]
- report: [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 54bd702faa

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread client/public-surface.mjs Outdated
Comment thread broker-core/index.mjs Outdated
Comment thread app/Sources/BrokerDashboardStore.swift
Comment thread broker-core/index.mjs
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Applied focused fixes for all 4 active review items. Final verification passed: `node --test client/test/public-surface.test.mjs`, `node --test broker-core/test/broker-core.test.mjs --test-name-pattern "idle cleanup"`, `npm run test:app:focus -- SimulatorBrokerAppTests/BrokerDashboardStoreTests`, `git diff --check -- client/public-surface.mjs client/test/public-surface.test.mjs broker-core/index.mjs broker-core/test/broker-core.test.mjs app/Sources/BrokerDashboardStore.swift app/Tests/BrokerDashboardStoreTests.swift`, and `npm run verify:public-surface`.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/detached-rollout.test.ts
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/task-session]
- report: [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1c8ba5adfa

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread client/public-surface.mjs
Comment thread broker-core/index.mjs Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

}, () => {
setImmediate(() => {

P2 Badge Close command admission before acknowledging stop

When another accepted request finishes parsing after the stop response computes its drain budget but before this response callback invokes shutdown, shuttingDown is still false and that request can enqueue a worker omitted from activeCommandDrainTimeoutMilliseconds. Fresh evidence after the earlier admission fix is this callback-delayed shutdown window, which can let a destructive command start after stop was acknowledged and make the CLI time out before the unbudgeted drain completes; close command admission before sampling the budget and sending the response.

AGENTS.md reference: AGENTS.md:L7-L8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread broker-core/index.mjs Outdated
Comment thread broker-core/index.mjs
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Applied three focused fixes and left the already-satisfied public-surface scanner item as reply_no_fix. Verification run: npm run verify:public-surface passed; npm run test:client passed; npm run test:broker-core initially exposed timestamp-test fallout, then passed after correction.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/detached-rollout.test.ts
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/install-distribution.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- examples/harness-adoption/sample-consumer-repo/scripts/with-broker-lease.sh
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)
- #1 (review)

Session:
- task-session: [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/task-session]
- report: [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/report.md]
@fiveonecode-autopilot

Copy link
Copy Markdown

Addressed top-level PR review feedback in 79aa32a6c5d95047db08863879013c6559ac42ab.

These items were posted as PR review bodies rather than unresolved review threads, so this acknowledgement is recorded on the PR timeline.

  • Source: Public-safe on-demand Simulator lifecycle #1 (review)
    Fixed by closing brokerd command admission before the stop route computes the active drain budget and sends its acknowledgement, while still draining already-admitted work during shutdown. Added regression coverage for a delayed command body completing after stop acknowledgement.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 79aa32a6c5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread broker-core/index.mjs Outdated
Comment thread broker-core/index.mjs
Comment thread broker-core/index.mjs
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Applied all three active fixes. Verification passed: `npm run test:broker-core`, `npm run verify:public-surface`, `npm run test:client`, and `git diff --check`.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/detached-rollout.test.ts
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/install-distribution.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- examples/harness-adoption/sample-consumer-repo/scripts/with-broker-lease.sh
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/task-session]
- report: [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 467fe5c860

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread client/service/brokerd.mjs Outdated
Comment thread client/public-surface.mjs
Comment thread app/Sources/BrokerDashboardStore.swift Outdated
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Applied small scoped fixes for all three active review items. Focused checks passed: `node --test client/test/public-surface.test.mjs`, `node --test --test-name-pattern "brokerd waits for active command workers during shutdown|brokerd waits for active app snapshot workers during shutdown|service stop closes command admission before acknowledging shutdown|brokerd rejects late command worker admission during shutdown" client/test/brokerd.test.mjs`, `npm run verify:public-surface`, and `bash scripts/test_app.sh --only-testing SimulatorBrokerAppTests/BrokerDashboardStoreTests/testSuccessfulMutationPreservesRefreshFailure --only-testing SimulatorBrokerAppTests/BrokerDashboardStoreTests/testIdleCleanupAcceptsSuccessfulFallbackRefreshAfterCommittedCommand`.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/detached-rollout.test.ts
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/install-distribution.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- examples/harness-adoption/sample-consumer-repo/scripts/with-broker-lease.sh
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/task-session]
- report: [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5e18c390db

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread client/service/brokerd.mjs Outdated
Comment thread client/public-surface.mjs
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Applied focused fixes for both active review items. Focused checks passed: node --test client/test/public-surface.test.mjs, node --test client/test/brokerd.test.mjs, node --test client/test/simbroker.test.mjs, git diff --check, and npm run verify:public-surface.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/detached-rollout.test.ts
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/install-distribution.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- examples/harness-adoption/sample-consumer-repo/scripts/with-broker-lease.sh
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/task-session]
- report: [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e0473d9cad

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread client/public-surface.mjs Outdated
Comment thread scripts/package_distribution.sh
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Applied both safe fixes. Checks passed: `node --test client/test/public-surface.test.mjs client/test/install-distribution.test.mjs`, `npm run verify:public-surface`, `bash -n scripts/package_distribution.sh`, `npm run test:client`, and `git diff --check`.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/detached-rollout.test.ts
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/install-distribution.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- examples/harness-adoption/sample-consumer-repo/scripts/with-broker-lease.sh
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/task-session]
- report: [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: da94ff4a2b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread broker-core/index.mjs Outdated
Comment thread app/Sources/BrokerDashboardStore.swift
Comment thread broker-core/index.mjs
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Applied all three active feedback fixes. Focused checks passed: `node --test broker-core/test/broker-core.test.mjs` and `bash scripts/test_app.sh --only-testing SimulatorBrokerAppTests/BrokerDashboardStoreTests`.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/detached-rollout.test.ts
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/install-distribution.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- examples/harness-adoption/sample-consumer-repo/scripts/with-broker-lease.sh
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/task-session]
- report: [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/report.md]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7de66c0763

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread broker-core/index.mjs
Comment thread client/public-surface.mjs Outdated
Why:
- Resolve actionable GitHub review feedback for PR #1.

Changed:
- Applied both active PR feedback fixes. Verification passed: `node --test client/test/public-surface.test.mjs`, `node --test broker-core/test/broker-core.test.mjs`, and `npm run verify:public-surface`.

Verification:
- npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/task-session]
- npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/task-session]
- npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/task-session]
- npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/task-session]

Affected:
- .gitignore
- README.md
- agent-harness/tests/detached-rollout.test.ts
- agent-harness/tests/runtime.test.ts
- app/README.md
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerCommandSupport.swift
- app/Sources/BrokerDashboardStore.swift
- app/Sources/BrokerLocalCommandClient.swift
- app/Sources/BrokerServiceClient.swift
- app/Sources/BrokerSnapshotModels.swift
- app/Sources/OverviewScreen.swift
- app/Tests/BrokerDashboardStoreTests.swift
- app/Tests/BrokerLocalCommandClientTests.swift
- app/Tests/BrokerServiceClientTests.swift
- app/Tests/Fixtures/busy-snapshot.json
- app/project.yml
- broker-core/error-contract.mjs
- broker-core/index.mjs
- broker-core/simctl.mjs
- broker-core/test/broker-core.test.mjs
- client/README.md
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/service/service-client.mjs
- client/test/brokerd.test.mjs
- client/test/install-distribution.test.mjs
- client/test/public-surface.test.mjs
- client/test/simbroker.test.mjs
- examples/harness-adoption/sample-consumer-repo/scripts/with-broker-lease.sh
- package.json
- scripts/package_distribution.sh
- scripts/test_app.sh
- spec/README.md
- spec/architecture.md
- spec/build-and-test.md
- spec/global-simulator-broker.md
- spec/harness-integration.md
- spec/implementation-plan.md
- spec/project-structure.md
- spec/tasks/README.md
- spec/tasks/public-safe-on-demand-simulator-lifecycle.md

Refs:
- #1
- #1 (comment)
- #1 (comment)

Session:
- task-session: [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/task-session]
- report: [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/report.md]
@VladimirBrejcha

Copy link
Copy Markdown
Contributor Author

/open-code-review

3 similar comments
@VladimirBrejcha

Copy link
Copy Markdown
Contributor Author

/open-code-review

@VladimirBrejcha

Copy link
Copy Markdown
Contributor Author

/open-code-review

@VladimirBrejcha

Copy link
Copy Markdown
Contributor Author

/open-code-review

@github-actions

github-actions Bot commented Aug 14, 2026

Copy link
Copy Markdown

🔍 OpenCodeReview found 50 issue(s) in this PR.

  • ✅ Successfully posted inline: 50 comment(s)

Comment thread app/Sources/AutomaticShutdownSection.swift
Comment thread app/Sources/AutomaticShutdownSection.swift
Comment thread app/Sources/BrokerDashboardStore.swift
Comment thread app/Sources/BrokerDashboardStore.swift
Comment thread app/Sources/BrokerDashboardStore.swift
Comment thread client/test/install-distribution.test.mjs
Comment thread client/test/simbroker.test.mjs
Comment thread client/test/simbroker.test.mjs
Comment thread scripts/package_distribution.sh
Comment thread scripts/package_distribution.sh Outdated
Why:
- OpenCodeReview left 50 unresolved threads on PR #1. Several were real defects in idle cleanup, worker completion, lease selection, and public-surface scanning.

Changed:
- Skip zero-eligible idle cleanup confirmation and drop stale preview errors after leaving Overview.
- Keep same-tier lease selection host-ordered whenever any release timestamp is missing, so mixed timestamps stay a total order.
- Reject brokerd workers that exit without a result, prefer local-only-mode when policy is configured, and preserve child exit info across startup lock waits.
- Enforce the documented idle grace range in the CLI, raise git scan buffers, and keep package_distribution.sh CWD stable for relative --output-dir.

Verification:
- npm run agent:verify -- --profile implementation --paths app/Sources/AutomaticShutdownSection.swift app/Sources/BrokerDashboardStore.swift app/Tests/BrokerDashboardStoreTests.swift broker-core/index.mjs broker-core/test/broker-core.test.mjs client/bin/simbroker.mjs client/command-dispatch.mjs client/public-surface.mjs client/service/brokerd.mjs client/test/brokerd.test.mjs client/test/simbroker.test.mjs scripts/package_distribution.sh --session-dir task-sessions/20260817-pr1-ocr-triage
- passed

Affected:
- app/Sources/AutomaticShutdownSection.swift
- app/Sources/BrokerDashboardStore.swift
- app/Tests/BrokerDashboardStoreTests.swift
- broker-core/index.mjs
- broker-core/test/broker-core.test.mjs
- client/bin/simbroker.mjs
- client/command-dispatch.mjs
- client/public-surface.mjs
- client/service/brokerd.mjs
- client/test/brokerd.test.mjs
- client/test/simbroker.test.mjs
- scripts/package_distribution.sh

Refs:
- #1
- #1 (comment)

Session:
- task-sessions/20260817-pr1-ocr-triage

Co-authored-by: Cursor <cursoragent@cursor.com>
@VladimirBrejcha

Copy link
Copy Markdown
Contributor Author

Triaged the 50 unresolved OpenCodeReview threads on this PR.

Fixed (19) in 270ba7b571a3fed0e8980104f67c9dfbd7c234f5: zero-eligible cleanup confirmation, stale preview error leak, non-transitive lease sort, worker exit-before-result hang, local-only limitation when policy is configured, CLI grace-seconds range, startup child-exit loss, public-surface git maxBuffer, package_distribution.sh CWD for relative --output-dir, plus the small test/helper holes that were actually broken.

Dismissed (31): naming/style nits, speculative reuse, fixture fidelity, coverage-only notes, and test-hygiene suggestions that are not product defects in this PR.

Each thread has an inline reply. Verification: implementation profile passed; agent:complete passed.

VladimirBrejcha and others added 5 commits August 17, 2026 02:39
Why:
- After a lease or host mutation committed, a malformed idle-policy.json made snapshot refresh fail and brokerd returned HTTP 400. The macOS app then showed failure for work that had already succeeded.

Changed:
- Persist an unconfigured idle summary when snapshot refresh cannot read idle policy, so the rest of the snapshot still writes.
- Do not surface idle-policy snapshot refresh as a command error for non-idle, non-app service mutations.
- Keep CLI lease acquire successful after commit and report invalid-config as a scheduler warning.
- Idle status and reconcile still fail closed on malformed idle policy.

Verification:
- npm run agent:verify -- --profile implementation --paths broker-core/index.mjs broker-core/test/broker-core.test.mjs client/bin/simbroker.mjs client/service/brokerd.mjs client/test/brokerd.test.mjs client/test/simbroker.test.mjs --session-dir task-sessions/20260817-pr1-review-loop
- passed

Affected:
- broker-core/index.mjs
- broker-core/test/broker-core.test.mjs
- client/bin/simbroker.mjs
- client/service/brokerd.mjs
- client/test/brokerd.test.mjs
- client/test/simbroker.test.mjs

Refs:
- #1

Session:
- task-sessions/20260817-pr1-review-loop

Co-authored-by: Cursor <cursoragent@cursor.com>
Why:
- Read-only snapshots dropped dead-owner leases but kept the previous release timestamp, so Automatic shutdown could show grace-expired eligibility before reclaim started a fresh grace period.
- After a failed acquire marked an alias repair-needed, a leftover lease file with a live owner could be re-admitted on the next state load.

Changed:
- Restart lastLeaseReleasedAt in memory when a read-only snapshot drops an unreclaimed stale lease, without writing registry or lease files.
- Reclaim leftover acquire-rollback lease files when registry health is repair-needed for boot or reset failure and no longer names that lease.
- Keep a live lease that still matches the registry holder so an in-progress acquire is not stolen.

Verification:
- npm run agent:verify -- --profile implementation --paths broker-core/index.mjs broker-core/test/broker-core.test.mjs --session-dir task-sessions/20260817-pr1-review-loop-2
- passed

Affected:
- broker-core/index.mjs
- broker-core/test/broker-core.test.mjs

Refs:
- #1

Session:
- task-sessions/20260817-pr1-review-loop-2

Co-authored-by: Cursor <cursoragent@cursor.com>
Why:
- Read-only snapshots treated every dead-owner lease as released, including containment-aware leases that mutating loads still keep active until containment finishes. Automatic shutdown and cleanup preview could then disagree with reconcile.

Changed:
- Keep containment-aware stale leases in the read-only snapshot lease map and do not restart idle grace for them.
- Treat those aliases as still leased in idle cleanup preview so a live downstream process is not offered as idle.

Verification:
- npm run agent:verify -- --profile implementation --paths broker-core/index.mjs broker-core/test/broker-core.test.mjs --session-dir task-sessions/20260817-pr1-review-loop-3
- passed

Affected:
- broker-core/index.mjs
- broker-core/test/broker-core.test.mjs

Refs:
- #1

Session:
- task-sessions/20260817-pr1-review-loop-3

Co-authored-by: Cursor <cursoragent@cursor.com>
Why:
- Cleanup apply loaded mutating broker state, so a containment-aware stale lease excluded from preview could still be contained as a side effect. That killed live downstream work that the operator did not confirm, then rejected the plan as stale.

Changed:
- Recompute confirmed idle cleanup under the mutation lock from the same read-only snapshot used by preview.
- Leave stale-owner containment to reconcile and other mutating loads.
- Keep post-shutdown registry persistence failures public-safe when apply no longer writes registry during state load.

Verification:
- npm run agent:verify -- --profile implementation --paths broker-core/index.mjs broker-core/test/broker-core.test.mjs --session-dir task-sessions/20260817-pr1-review-loop-4
- passed

Affected:
- broker-core/index.mjs
- broker-core/test/broker-core.test.mjs

Refs:
- #1

Session:
- task-sessions/20260817-pr1-review-loop-4

Co-authored-by: Cursor <cursoragent@cursor.com>
Why:
- Confirmed cleanup planned from a read-only snapshot, then wrote that in-memory registry. Snapshot-only stale-lease grace restarts and cleared active-lease ids could land on disk while lease files remained.

Changed:
- After the confirmed plan matches, persist shutdown results onto a freshly loaded registry plus current simulator inventory.
- Leave unreclaimed stale-lease files and their on-disk release timestamps unchanged until a mutating load reclaims them.

Verification:
- npm run agent:verify -- --profile implementation --paths broker-core/index.mjs broker-core/test/broker-core.test.mjs --session-dir task-sessions/20260817-pr1-review-loop-5
- passed

Affected:
- broker-core/index.mjs
- broker-core/test/broker-core.test.mjs

Refs:
- #1

Session:
- task-sessions/20260817-pr1-review-loop-5

Co-authored-by: Cursor <cursoragent@cursor.com>
@VladimirBrejcha
VladimirBrejcha merged commit f11d1b7 into main Aug 17, 2026
0 of 2 checks passed
@VladimirBrejcha
VladimirBrejcha deleted the codex/public-safe-idle-lifecycle branch August 17, 2026 04:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant